The dynamic nature of real-time graphics applications make the use of precomputed visibility determination algorithms less desirable. Dynamic visibility determination can be accelerated via the use of hierarchical depth testing (e.g., Hierarchical-Z). Hierarchical-Z is a known feature of modern graphics processing units (GPUs) that enables the GPU to perform high-speed depth testing by rejecting large group of incoming fragments. Depth testing performance is increased in part due to the use of a reduced and compressed version of the depth buffer that can be maintained within on-chip memory or through a cache. A traditional depth buffer is a two-dimensional array storing a depth element for each pixel or depth element for each sample of each pixel of a scene.
In contrast with a traditional depth buffer, a Hierarchical depth buffer stores depth data at a lower granularity or stores different representations of depth data other than a per-pixel representation. Hierarchical depth buffers can be used to perform hierarchical depth culling, or occlusion culling. Occlusion culling is a visibility determination algorithm that is used to identify objects that reside in a view volume to be rendered, but are not visible because those objects are hidden by other objects that are closer to the camera. One implementation of hierarchical occlusion culling utilizes a maximum depth value of a tile of pixels or samples. If the estimated conservative minimum depth of a triangle inside a tile is greater than the maximum depth of the tile, the triangle is completely occluded inside that tile. In this case, the per-sample depth values do not need to be read from memory, and no further processing is performed within the tile for the culled triangle.
GPUs known in the art generally include some form of hierarchical depth culling unit, which can be configured to perform occlusion culling. Differing occlusion culling algorithms can be used in differing implementation of the hierarchical depth unit, and optimization efforts are routinely performed in an effort to achieve high performance and energy efficient operation.